我正在为FOSS语言学习计划编写Python脚本。假设我有一个XML文件(或者为了简单起见,一个Python列表),其中包含特定语言的单词列表(在我的例子中,这些单词是泰米尔语,它使用基于婆罗米语的印度脚本)。我需要画出仅使用这些字母即可拼写的那些单词的子集。一个英文例子:words=["cat","dog","tack","coat"]get_words(['o','c','a','t'])shouldreturn["cat","coat"]get_words(['k','c','t','a'])shouldreturn["cat","tack"]泰米尔语示例:words=[u"மர
比如说,如果我有这样的文字text='a!ab!c!!!'我想要这样的结果:text='a!abc'所以,如果每个单词的结尾都是“!”,我想去掉它。如果有多个'!'一个词的结尾,全部被淘汰。 最佳答案 print"".join(word.rstrip("!")forwordintext.split()) 关于python-如何从Python中的每个单词的右侧去除字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverf
一种特殊的自然语言实践是使用WordNet计算两个词之间的相似度。我用以下python代码开始我的问题:fromnltk.corpusimportwordnetsport=wordnet.synsets("sport")[0]badminton=wordnet.synsets("badminton")[0]print(sport.wup_similarity(badminton))我们将得到0.8421现在如果我按如下方式查找“haha”和“lol”怎么办:haha=wordnet.synsets("haha")lol=wordnet.synsets("lol")print(haha)
这可能吗?基本上,我想将这两个对sub的调用变成一个调用:re.sub(r'\bAword\b','Bword',mystring)re.sub(r'\baword\b','bword',mystring)我真正喜欢的是某种条件替换符号,例如:re.sub(r'\b([Aa])word\b','(?1=A:B,a:b)word')我只关心第一个字符的大小写。其他都没有。 最佳答案 您可以使用函数来解析每个匹配项:>>>deff(match):returnchr(ord(match.group(0)[0])+1)+match.grou
如何使用Python从文本文件中返回所有唯一的单词?例如:IamnotarobotIamahuman应该返回:Iamnotarobothuman这是我到目前为止所做的:defunique_file(input_filename,output_filename):input_file=open(input_filename,'r')file_contents=input_file.read()input_file.close()word_list=file_contents.split()file=open(output_filename,'w')forwordinword_list:i
我有一个全名列表,目前我将其分成两个变量:first,last=full_name.split("")仅当full_name拆分时是两个单词时才有效,否则我得到。有没有一种简洁的方法来解释一个包含更多部分的名称,以将first作为第一个单词,将last作为其余单词?我可以用一两行额外的代码来完成,但我想知道是否有一种优雅的方法。 最佳答案 由于您使用的是Python3,因此您还可以使用ExtendedIterableUnpacking.例如:name="JohnJacobJingleheimerSchmidt"first,*last
我正在尝试编写一个简单的正则表达式来查找字符串中的最后一个单词是否是特定单词。我写了类似这样的"(\W|^)dog$"。(检查句子中的最后一个词是否是狗)这个正则表达式是正确的,但在python中,当我输入类似"Ilikedog"的内容时,它没有返回任何内容。我在Rubular正则表达式编辑器中对此进行了测试,它似乎有效。我做错了什么吗?编辑:添加我的简单代码importrepm=re.compile("(\W|^)dog$")has=pm.match("ilovedog")print(has) 最佳答案 您不需要在此处使用正则表达
我正在尝试使用python的正则表达式来匹配包含多个单词的字符串。例如,字符串是“这些是橙子、苹果和梨,但不是菠萝或..”我要查找的单词列表是“和”、“或”和“不是”。无论顺序还是位置。我试过r'AND|或者|不是但没有用。还尝试了r'.*?\bAND\b.*?\bOR\b.*?\bNOT\b.*?$还是不行……不擅长正则表达式..和提示?谢谢! 最佳答案 你在那里遇到了一些问题。首先,匹配是区分大小写的,除非您使用IGNORECASE/I标志来忽略大小写。所以,'AND'不匹配'and'。此外,除非您使用VERBOSE/X标志
我想知道是否有一种简单的方法可以执行以下操作:输入字符串:input='Hello'输出字符串:output='H,e,l,l,o'我知道您可以执行list(input),但这会返回一个列表,我想获取字符串而不是列表。有什么建议吗? 最佳答案 In[1]:','.join('Hello')Out[1]:'H,e,l,l,o'这利用了字符串可迭代并在迭代时产生单个字符这一事实。 关于python-如何在Python中将单词拆分为字母,我们在StackOverflow上找到一个类似的问题:
我为此搜索了一段时间,但仍未找到答案,也许它与正则表达式有关,但我认为应该有一个我在这里遗漏的简单答案。这对我来说似乎很微不足道......这里是:在python解释器上我得到:"abc"in"abc123"为真。我想要一个返回False的命令。我想要匹配整个单词。谢谢! 最佳答案 in不是它的完成方式。>>>re.search(r'\babc\b','abc123')>>>re.search(r'\babc\b','abc123') 关于python-在python中使用"in"匹配整